const mysql = require('mysql2/promise');
const { Sequelize } = require('sequelize');

// host：数据库服务器地址，这里是本地。
// user 和 password：数据库用户名和密码。
// database：要连接的数据库名。
// waitForConnections：连接池满时是否等待可用连接。
// connectionLimit：最大连接数。
// queueLimit：等待队列最大长度，0 表示不限制。
const config = {
    host: 'localhost',
    user: 'root',
    password: 'root',
    database: 'chat',
    waitForConnections: true,
    connectionLimit: 10, 
    queueLimit: 0
}
const pool = mysql.createPool(config);

// 新增 Sequelize 实例
const sequelize = new Sequelize(config.database, config.user, config.password, {
    host: config.host,
    dialect: 'mysql',
    // logging: false,
    logging: console.log, // 打印所有SQL语句
    port: 3306
});

module.exports = {
    config,
    pool,
    sequelize,
    connect: () => pool.getConnection()
};